package com.micro.ai.files;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

/**
 * 文件服务启动类
 * 
 * @author micro-ai
 * @since 0.0.1
 */
@SpringBootApplication
@EnableDiscoveryClient
@EnableAspectJAutoProxy(exposeProxy = true)
@MapperScan("com.micro.ai.files.mapper")
@ComponentScan(basePackages = {
    "com.micro.ai.files",            // 扫描files模块
    "com.micro.ai.commons.util",    // 只扫描commons的util包（JwtUtils等工具类）
    "com.micro.ai.commons.constant", // 扫描commons的constant包（常量）
    "com.micro.ai.commons.exception", // 扫描commons的exception包（全局异常处理器）
    "com.micro.ai.commons.domain",   // 扫描commons的domain包（ApiResponse等）
    "com.micro.ai.commons.config"    // 扫描commons的config包（配置类）
})
public class FilesApplication {

    public static void main(String[] args) {
        SpringApplication.run(FilesApplication.class, args);
        System.out.println("""
            
            ========================================
            🚀 micro-ai-files 文件服务启动成功！
            📋 功能特性:
               - 文件上传/下载 (支持MinIO)
               - 文件管理 (文件夹、版本、分享)
               - 存储配置管理
               - 文件配额管理
            ========================================
            
            """);
    }
}

